An increase in the number of mobile devices, such as smartphones, tablets, and wearable computing devices, over the past few years has led to the emergence and development of many mobile location-based services. A few of the most common mobile location-based services include mapping, navigation, and searching for nearby restaurants or stores. Other examples include geo-tagging pictures, sharing current locations with friends, “checking-in” to places on social networks, and receiving location-based deals and promotions.
Given the growing number of mobile devices and the popularity of mobile location-based services, it is therefore not surprising that mobile devices may include different types of positioning systems for determining a geographic location of the mobile device. For example, many mobile devices have an integrated global positioning system (GPS) that is configured to determine the position of a mobile device by precisely timing signals sent by GPS satellites above the Earth. In addition, some mobile devices are also configured to make use of the presence of one or more particular cellular radio towers, wireless access points, and/or Bluetooth transmitters, to estimate the position of the mobile device based on triangulation and/or fingerprinting. Further, some mobile devices are configured to use data collected by sensors (e.g., accelerometers, gyroscopes, magnetometers, etc.) of the mobile device to facilitate location determination. Still further, some mobile devices are configured to fuse data from various sources like GPS, Wi-Fi, cellular radio towers, and sensors of the mobile device to determine a fused location estimate.
Some mobile devices are configured to perform location determination locally in hardware of the mobile device. For example, a mobile device may have a dedicated location processor that is separate from a main application processor of the mobile device and is configured to determine location estimates for the device without waking up the main application processor. On the other hand, some mobile devices are configured to perform location determination using software that is executed by a main application processor of the mobile device, optionally in conjunction with a server in a network.
Each of the different positioning systems has advantages and disadvantages. By way of example, it may be desirable to allow a mobile device to determine location estimates using a location-determination algorithm that is executed by a location processor of the mobile device rather than using a location-determination algorithm that is executed by a main application processor of the mobile device. For instance, a mobile device may conserve power by performing location-determination using the location processor rather than using a main application processor.